<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    //     ### 练习题5:
    // ** 目标：** 封装一个函数, 可以求任意数组的和 或 平均值
    // ** 要求：**
    //  - 函数可以传递2个参数，比如  handleData(arr, true)`handleData 处理数据的意思`
    //* 参数一： 接受实参传递过来的数组
    //* 参数二:    布尔类型  如果是true或者不传递参数 是求和操作，   如果传递过来的参数是 false 则是求平均值
    function handleData(arr, bool) {
      // 声明变量sum 用来存放和
      let sum = 0
      for (let i = 0; i < arr.length; i++) {
        sum += arr[i]
      }
      // 判断 第二个形参的情况  因为是两个不同的条件，所以需要两个if来判断
      if (bool === true || bool === undefined) {
        return sum           //  返回给调用者
      }
      if (bool === false) {
        let pingjun = sum / arr.length
        return pingjun     //   返回给调用者
      }
    }
        // 变量赋值
    let zhi = handleData([1, 2, 3, 4, 5], true)
    // 打印变量
    console.log(zhi);


  </script>
</body>

</html>